De eerste schakel in ons project is de Waterproef. Hier moet je het water proberen op te warmen tot een temperatuur van 30°. Dit doe je aan de hand van verschillende soorten korrels.
De Waterproef is schakel 1, deze heeft te maken met natuurwetenschappen. Nu vraag je je waarschijnlijk af hoe kan je water opwarmen aan de hand van korrels. In de lessen natuurwetschappen hebben wij 3 korrels gezien die water opwarmen: Natriumhydroxide (soda), Calciumoxide (kalk, wordt gebruikt in mortel), Aluminiumchloride. De oplosser zal aan de hand van een rebus de juiste korrel moeten nemen. Als de juiste korrel in het water is gedaan. Dan warmt het water op na een paar minuten tot 30°. Als het water de temp heeft bereikt dan komt er op het scherm dat je door kan gaan naar de volgende schakel.
#include // Bibliotheek OneWire -> deze zorgt voor de communicatie tussen de arduino en de temperatuursensor en ook de lcd.
#include // Dit is de bibliotheek die nodig is om de temperatuur te lezen van de temperatuur sensor.
#include // Dez bibliotheek is nodig om te communiceren met de lcd.
const int SENSOR_PIN = 13; // De laaste pin van de temperatuur sensor is hierop aangesloten namelijk de: DAT pin.
OneWire oneWire(SENSOR_PIN); // Hier wordt de klasse aangemaakt.
DallasTemperature sensors(&oneWire); // Hier ook
LiquidCrystal_I2C lcd(0x27, 20, 4); // Adres en de grootte van de lcd.
float tempCelsius; // temperatuur in Celcius.
void setup()
{
sensors.begin(); // Zet de sensors aan.
lcd.backlight(); // En doe het achterlicht van de lcd aan.
}
void loop()
{
sensors.requestTemperatures(); // Zeg tegen de temperatuur sensor dat hij de temperatuur moet lezen.
tempCelsius = sensors.getTempCByIndex(0); // En lees dan de temperatuur.
lcd.clear();// Maak de lcd proper, zodat er geen tekst meer opstaat.
lcd.setCursor(0, 0); // Zet de cursor op rij 0.
lcd.print(tempCelsius); // Print de temperatuur.
lcd.print((char)223); // Print het bolletje,char is deel van een typecasting 223 komt overeen met het ° bolletje. (https://forum.arduino.cc/t/simple-typecasting-question/491892)
lcd.print("C"); // Print de C
lcd.setCursor(0, 2);// Zet de crusor op het tweede lijntje.
lcd.print(" Je mooet 30 graden bereiken");// Print het.
lcd.setCursor(0, 1); // Zet de cursor op de 1e lijn.
if (tempCelsius > 30)// Als de temperatuur hoger is dan 30 grdan dan:
{
lcd.print("Ga nu door naar de computer"); // Print ga nu door naar de computer
}
else// Anders
{
lcd.print(" "); // Print niets.
}
delay(500);// Delay 0,5 sec.